<%@page import="com.mes.entity.tdd.Staff"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@include file="common.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>采购退货新增</title>
<link rel="stylesheet" href="${pageContext.request.contextPath }/css/bootstrap-editable.css">
<script type="text/javascript" src="${pageContext.request.contextPath }/js/bootstrap-editable.js"></script>
<script src="${pageContext.request.contextPath }/bootstrap-table/dist/extensions/editable/bootstrap-table-editable.js"></script>

<script type="text/javascript">
$(function () {

    //1.初始化Table
    var oTable = new TableInit();
    oTable.Init();

    //2.初始化Button的点击事件
    var oButtonInit = new ButtonInit();
    oButtonInit.Init();
	//初始化提示框的位置：top-center，bottom-left，bottom-right
    toastr.options.positionClass = 'toast-top-center';
    $('#d2').hide();
    $('#plannumber').html("cg"+CurentTime());
  //获取当前时间
   	function CurentTime() {
   		 
   		var now=new Date();
   		var year = now.getFullYear();       //年
   	    var month = now.getMonth() + 1;     //月
   	    var day = now.getDate();            //日
   	 	var hours = now.getHours(); //获取当前小时数(0-23)
	   	var minutes = now.getMinutes(); //获取当前分钟数(0-59)
	   	var seconds = now.getSeconds(); //获取当前秒数(0-59)
   	    //var mill=now.getMilliseconds();
   	    var time=year+""+add0(month)+""+add0(day)+""+add0(hours)+""+add0(minutes)+""+add0(seconds);
   		return time;
   	}
  //获取当前时间
   	function CurentTime1() {
   		 
   		 var now=new Date();
   		 var year = now.getFullYear();       //年
   	    var month = now.getMonth() + 1;     //月
   	    var day = now.getDate();            //日
   	 	//var hours = now.getHours(); //获取当前小时数(0-23)
	   	//var minutes = now.getMinutes(); //获取当前分钟数(0-59)
	   	//var seconds = now.getSeconds(); //获取当前秒数(0-59)
   	    //var mill=now.getMilliseconds();
   	    var time=year+"-"+add0(month)+"-"+add0(day);
   		return time;
   	}
   	function add0(m){return m<10?'0'+m:m }
    //制单人
	if($('#markman').html() == null || $('#markman').html() == ""){
		$("#markman").html($('#ii').val());
	}
	//采购日期
	$("#datetime").val(CurentTime1());
	
	
	
     //点击BOM计算后
   /*  $('#btn_bom').click(function () {
    	$('#d2').show();
    	//从被选中单号中拿出数据
    	var rows = $('#tb_table1').bootstrapTable("getSelections");
    	//alert(rows.length)
    	var pnames = new Array();
    	var remartk1s = new Array();
    	var remartks = new Array();
    	for(var i=0;i<rows.length;i++){
    		//var pnum=rows[i].pnum;
    		pnames[i]=rows[i].pname;
    		remartk1s[i]=rows[i].remartk1;
    		remartks[i]=rows[i].remartk;
    		//alert(remartk)
    	}
    		$('#tb_table2').bootstrapTable('refresh', {
        		url: '${pageContext.request.contextPath}/bom/insertBomResult.do?remartks='+remartks+'&&pnames='+pnames+'&&remartk1s='+remartk1s,
        	});
    	$('#tb_table2').bootstrapTable('refresh');
    }); */
  //点击BOM计算后
    $('#btn_bom').click(function () {
    	$('#d2').show();
    	//从被选中单号中拿出数据
    	
    	tb_table1
    	var rows = $('#tb_table1').bootstrapTable("getSelections");
    	
    	//alert(rows.length)
    	
    	var pNummArr = [];
    	var plannum =[];
    	var id=[];
    	for(var i=0;i<rows.length;i++){
    		
    		//品编
    		pNummArr.push(rows[i].pnum);
    		plannum.push(rows[i].remartk1);
    		id.push(rows[i].id);
    	}
    		$('#tb_table2').bootstrapTable('refresh', {
        		url: '${pageContext.request.contextPath}/others/bom.do?plannum='+plannum+'&&pNummArr='+pNummArr+'&&id='+id,
        	});
    	//$('#tb_table2').bootstrapTable('refresh');
    });

    
    $('#btn_guanbi').click(function () {
    	$('#bom').modal("hide");
    });
    
  //页面加载完成之后,将所有的生产计划单号加载
   /*  $.ajax({
    	dataType:'json',
    	url:'${pageContext.request.contextPath}/custom/custom_list.do',
    	success:function(data) {
    		
    		for (var i = 0;i<data.length;i++) {
    			$('#productionPlan').append('<option>'+data[i]+'</option></select>');
    		}
    		
    		// $('#productionPlan').selectpicker('refresh');  
    	}
    	
    }); */
    
    //点击生产计划单,BOM计算
   /*  $('#productionPlan').change(function () {
    	$('#bom').modal("show");
    	$('#d2').hide();
    	$('#tb_table1').bootstrapTable('refresh', {
    		url: '${pageContext.request.contextPath }/custom/custom_listDetail.do?prnum='+$('#productionPlan').val(),
    	});
    	$('#tb_table1').bootstrapTable('refresh');
    }); */
    // 按下鼠标点击生产计划单
    $('#productionPlan').mouseup(function () {
    	
    	$('#bom').modal("show");
    	$('#d2').hide();
    	$('#tb_table1').bootstrapTable('refresh', {
    		url: '${pageContext.request.contextPath }/custom/custom_listDetail.do',
    	});
    	$('#tb_table1').bootstrapTable('refresh');
    	
    });
    
    
	function add0(m){return m<10?'0'+m:m }
	function FormatDate (strTime) {
	    var date = new Date(strTime);
	    return date.getFullYear()+"-"+add0((date.getMonth()+1))+"-"+add0(date.getDate());
	}
    $('#btn_confirm').click(function () {
    	var tab2=$('#tb_table2').bootstrapTable('getData');
    	if(tab2.length > 0){
	    	var iicount = 0; 
	    	var ii = 0; 
	    	for (var i = 0; i < tab2.length; i++) {
	    		var plantotal=Number(tab2[i].remartk1)+Number(tab2[i].remark7)-Number(tab2[i].remark10);
	    		if(plantotal>0){
	    			iicount++
	    		}
	    		if(tab2[i].remark15 == null || tab2[i].remark15 == ""){
	    			ii++;
	    		}
	    		
			}
	    	if(iicount > 0){
		    	if(ii > 0){
		    		toastr.warning("请将到货日期填写完整");
		    	}else{
		    	
			    	$('#tb_departments').bootstrapTable('removeAll'); 
			    	for (var i = 0; i < tab2.length; i++) {
			    		var plantotal=Number(tab2[i].remartk1)+Number(tab2[i].remark7)-Number(tab2[i].remark10);
			    		if(plantotal>0){
				    		var row = null;
				    		row={"plantotal":Number(tab2[i].remartk1)+Number(tab2[i].remark7)-Number(tab2[i].remark10),"total":(Number(tab2[i].remartk1)+Number(tab2[i].remark7)-Number(tab2[i].remark5))*Number(tab2[i].remark3),
					    			"materiel":{
					    				"id":tab2[i].id,
					    				"name":tab2[i].name,
					    				"number":tab2[i].number,
						    			"remark2":tab2[i].remark2,
						    			"remark3":tab2[i].remark3,
						    			"materialmodel":tab2[i].materialmodel
					    			},"remark1":tab2[i].remark15,
				    			}
				    		 $('#tb_departments').bootstrapTable('append', row); 
					    	/* $("#tb_departments").bootstrapTable('insertRow', {index: 1, row: row});  */
			    		}
					}
		    		toastr.warning("添加需要采购的物料（(生产需求数量+最低安全库存量)>库存）");
		    		$('#bom').modal("hide");
			   		$('#tb_departments').bootstrapTable('refresh'); 
		    	}
	    	}else{
	    		toastr.warning("没有需要采购的物料（(生产需求数量+最低安全库存量)<库存）");
	    	}
    	}else{
    		toastr.warning("没有需要采购的物料");
    	}
    });
    var addann = true;
  //保存
    $('#btn_add').click(function () {
        if(addann = false){
            return ;
		}
        addann = false;
    	var a=$('#tb_table1').bootstrapTable('getSelections');
    	   var ids = "";
           for(var i = 0;i<a.length;i++) {
          	 if(i != a.length-1) {
          	 	ids +=a[i].id+",";
          	 }else {
          	 	ids +=a[i].id;
          	 }
           }
    	var row=$('#tb_departments').bootstrapTable('getData');
    	//采购计划编号
    	var plannumber=$('#plannumber').html();
    	//订单日期
    	var datetime=$('#datetime').val();
    	var exapp=$('#exapp').html();
    	var markman=$('#markman').html();
    	var productionPlan =$('#productionPlan').val();
    	var ii = 0;
    	if(null == plannumber || "" == plannumber || null  == datetime || "" == datetime || null == exapp || "" == exapp  || row.length <= 0){
    		ii++;
    		toastr.warning("请将采购计划单填写完整");
    	}
    	if(ii > 0){
    		return ;
    	}
    	//到货时间
    	var remark1=[];
    	//物料ID
    	var id=[];
    	//订单数量
    	var plantotal=[];
    
    	
    	
    	for (var j = 0; j < row.length; j++) {
    		remark1.push(row[j].remark1);
    		id.push(row[j].materiel.id);
    		plantotal.push(row[j].plantotal);
		}
    	
    	$.ajax({
    		cache: false,
    		url:'${pageContext.request.contextPath }/plan/add.do',
    		type:"POST",
    		data:'productionPlan='+productionPlan+'&'+'plannumber='+plannumber+'&datetime1='+datetime+"&markman="+markman+"&remark1s="+remark1+"&materitids="+id+"&plantotals="+plantotal+"&ids="+ids,
    		success:function (data) {
    			var result=eval("("+data+")");
    			if (result==1) {
    				$('#tb_departments').bootstrapTable('refresh');
                	toastr.success("操作成功");
                    setTimeout(function(){  //使用  setTimeout（）方法设定定时2000毫秒
                    	window.location.href='${pageContext.request.contextPath }/pages/cb/plan.jsp';
                    },2000);
				} else{
					toastr.error('操作失败!');
                    addann = true;
				} 
    		}
    	});
    });
  //时间插件
	$(".form_datetime").datetimepicker({
		 language: 'zh-CN',//中文，需要引用zh-CN.js包
		 format: "yyyy-mm-dd",
		 autoclose: true,
		 todayBtn: true,
		 todayHighlight: true,
		 showMeridian: true,
		 pickerPosition: "bottom-left",
		 startView: 2,//月视图
		 minView: 2,//日期时间选择器所能够提供的最精确的时间选择视图
		 clearBtn:true// 自定义属性,true 显示 清空按钮 false 隐藏 默认:true
	});
  
});


var TableInit = function () {
    var oTableInit = new Object();
    //初始化Table
    oTableInit.Init = function () {
        $('#tb_departments').bootstrapTable({
        	//url: '${pageContext.request.contextPath }/demo10.do',
        	method: 'get',                      //请求方式（*）
            toolbar: '#toolbar',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: false,                   //是否显示分页（*）
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            queryParams: oTableInit.queryParams,//传递参数（*）
            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber:1,                       //初始化加载第一页，默认第一页
            pageSize: 10,                       //每页的记录行数（*）
            pageList: [10, 20, 30],        //可供选择的每页的行数（*）
            search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            strictSearch: false,
            showColumns: false,                  //是否显示所有的列
            showRefresh: false,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            //height: 560,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            uniqueId: "ID",                     //每一行的唯一标识，一般为主键列
            showToggle:false,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
           /*  rowStyle: function (row, index) {
            	//这里有5个取值代表5中颜色['active', 'success', 'info', 'warning', 'danger'];
                var strclass = "";
                if (index==1) {
                	strclass = 'active' 
				} else {
					strclass = 'success'
				}
                return { classes: strclass } 
            }, */
            columns: [[{
                    	title:'采购计划单号'
                       },{
                    	   title:'<div id="plannumber">20171219001</div>'
                       },{
                    	   title:'采购日期'
                       },{
                    	   title:'<input id="datetime" class="form_datetime" >', 
                    	   colspan:2
                       },{
                    	   title:'制单人'
                       },{
                    	   title:'<div id="markman"></div>',
                       }],[{
                    	   
                    	   title:'生产计划号'
                       },{
                    	   title:'<input class="form-control" type="text" id="productionPlan">',
                    	   /* title:'<select class="show-tick form-control" id="productionPlan"><option>请选择生产计划号</option></select>', */
                    	   colspan:4
                       },{
                    	   title:'审批人'
                       },{
                    	   //title:'<select class="show-tick form-control" id="exapp"></select>',
                    	   title:'<div id="exapp">经理或厂长或副总经理</div>',
                       }],[{
            	field: 'materiel.remark2',
                title: '车种'
            }, {
                field: 'materiel.name',
                title: '物料名称'
            }, {
            	field: 'materiel.materialmodel',
                title: '物料型号',
                formatter:function(value,row,index){
                	if(row.materiel == null || row.materiel == ""){return "";}
                	else{return row.materiel.materialmodel;}
                },
            },{
                field: 'plantotal',
                title: '订单数量'
            },{
            	field: 'materiel.remark3',
                title: '单价'
            },{
            	field: 'plantotal',
                title: '金额',
               	 formatter:function(value,row,index){
               		if (row.plantotal == null) {return 0}
               		else{return row.materiel.remark3*row.plantotal; }
        	     },
            },{
            	field: 'remark1',
                title: '到货日期',
                editable:{
                	type:'date',
                    placement: 'left'
                }
            }, { 
           	 field: 'materiel.id',
                title: 'id',
                visible: false
            }]]
        });
        
        $('#tb_table1').bootstrapTable({
        	
            method: 'get',                      //请求方式（*）
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: false,                   //是否显示分页（*）
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            toolbar: '#toolbar1',                //工具按钮用哪个容器
            queryParams: oTableInit.queryParams,//传递参数（*）
            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber:1,                       //初始化加载第一页，默认第一页
            pageSize: 10,                       //每页的记录行数（*）
            pageList: [10, 20, 30],        //可供选择的每页的行数（*）
            search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            strictSearch: false,
            showColumns: false,                  //是否显示所有的列
            showRefresh: false,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            height: 524,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            uniqueId: "ID",                     //每一行的唯一标识，一般为主键列
            showToggle:false,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            columns: [{
            	checkbox: true
            },{
                field: 'plannum',
                title: '计划单号',
            }, {	
                field: 'pnum',
                title: '品编',
            },{
            	field: 'pname',
            	title: '品名',
            },{
            	field: 'remartk1',
            	title:'生产计划量'
            }]
        })
        
        $('#tb_table2').bootstrapTable({
        	
            method: 'get',                      //请求方式（*）
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: false,                   //是否显示分页（*）
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            queryParams: oTableInit.queryParams,//传递参数（*）
            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber:1,                       //初始化加载第一页，默认第一页
            pageSize: 10,                       //每页的记录行数（*）
            pageList: [10, 20, 30],        //可供选择的每页的行数（*）
            search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            strictSearch: false,
            showColumns: false,                  //是否显示所有的列
            showRefresh: false,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            height: 500,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            uniqueId: "ID",                     //每一行的唯一标识，一般为主键列
            showToggle:false,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            columns: [{
           	    field: 'id',
                title: 'id',
                visible: false
            }, {
                field: 'name',
                title: '物料名称',
            }, {
                field: 'materialmodel',
                title: '型号',
           /*  },{
            	field: 'pname',
            	title: '品名', */
            },{
            	field:'company',
            	title:'计量单位'
            },{
            	field: 'remartk1',
            	title:'生产需求数量'
            },{
            	field:'remark10',
            	title:'库存',
           		formatter:function(value,row,index){
                  		if (value != null && value != "") {return value}
                  		else{return 0; }
           	     },
            },{
            	field:'remark7',
            	title:'最低安全库存量',
           		formatter:function(value,row,index){
              		if (value != null && value != "") {return value}
              		else{return 0; }
       	     	},
            },{
            	field: 'remark15',
                title: '到货日期',
                editable:{
                	type:'date',
                    placement: 'left'
                }
            }],
            
            onEditableSave: function (field, row, oldValue, $el) {
        		$('#tb_table2').bootstrapTable("resetView");
        	}
        })
    };

    //得到查询的参数
    oTableInit.queryParams = function (params) {
        var temp = {   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            limit: params.limit,   //页面大小
            offset: params.offset,  //页码
            departmentname: $("#txt_search_departmentname").val(),
            statu: $("#txt_search_statu").val()
        };
        return temp;
    };
    return oTableInit;
};


var ButtonInit = function () {
    var oInit = new Object();
    var postdata = {};

    oInit.Init = function () {
        //初始化页面上面的按钮事件
    };

    return oInit;
};


</script>
</head>
<body>
	<div class="panel-body" style="padding-bottom: 0px;">
		<div id="toolbar" class="btn-group">
			<button id="btn_add" type="button" class="btn btn-default" >
				<span class="glyphicon glyphicon-plus" aria-hidden="true"></span>保存
			</button>
			<button id="btn_back" type="button" class="btn btn-default" onclick="javascript:history.back()" >
            	<span class="glyphicon glyphicon-arrow-left" aria-hidden="true"></span>退出
        	</button>
			
			<!-- <button id="btn_edit" type="button" class="btn btn-default">
				<span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>修改
			</button> -->
			<!-- <button id="btn_delete" type="button" class="btn btn-default">
				<span class="glyphicon glyphicon-remove" aria-hidden="true"></span>删除
			</button> -->
		</div>

		<table id="tb_departments"></table>
		
		
		
		
	</div>
	<%
		Staff staff = (Staff)session.getAttribute("staff");
		String d = "管理员";
	 	if(staff != null){
	 		d = String.valueOf(staff.getStaffname());

	 	}
	%>
	<input type="hidden" id="ii" value="<%=d%>">
	<div class="modal fade " id="bom"  tabindex="-1" role="dialog" aria-labelledby="myModal" data-backdrop="static" data-keyboard="false">
    	<div class="modal-dialog" role="document" style="width:60%;height: auto;">
        	<div class="modal-content">
           	 <!-- <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
                        aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="exampleModalLabel">编辑</h4>
            </div> -->
			<div class="modal-body">
			
			
			
			<div id="toolbar1" class="btn-group">
				<button id="btn_confirm" type="button" class="btn btn-default">
					<span class="glyphicon glyphicon-ok" aria-hidden="true"></span>确定
				</button>
				<button id="btn_guanbi" type="button" class="btn btn-default">
					<span class="glyphicon glyphicon-remove" aria-hidden="true"></span>关闭
				</button>
				<button id="btn_bom" type="button" class="btn btn-default">
					<span class="glyphicon glyphicon-btc" aria-hidden="true"></span>BOM计算
				</button>
			</div>
			<table id="tb_table1"></table>
            <div id="d2"><table id="tb_table2"></table></div>
            </div>
        </div>
    </div>
</div>
	
	
</body>
</html>